package com.senlingspace.system.service;

import java.util.List;

import com.senlingspace.common.core.domain.AjaxResult;
import com.senlingspace.system.domain.SlkjShop;
import com.senlingspace.system.domain.SlkjShopProject;
import com.senlingspace.system.domain.dto.ShopResponse;
import com.senlingspace.system.domain.dto.SlkjShopDto;

/**
 * 门店Service接口
 *
 * @author SenlingSpace
 * @date 2024-06-27
 */
public interface ISlkjShopService {



    List<ShopResponse> getShopsByDeptId(Long deptId);

    /**
     * 查询门店
     *
     * @param shopId 门店主键
     * @return 门店
     */
    public SlkjShop selectSlkjShopByShopId(Long shopId);

    /**
     * 查询门店列表
     *
     * @param slkjShopDto 门店
     * @return 门店集合
     */
    public List<SlkjShopDto> selectSlkjShopList(SlkjShopDto slkjShopDto);

    /**
     * 新增门店
     *
     * @param slkjShop 门店
     * @return 结果
     */
    public int insertSlkjShop(SlkjShop slkjShop);

    /**
     * 修改门店
     *
     * @param slkjShop 门店
     * @return 结果
     */
    public int updateSlkjShop(SlkjShop slkjShop);

    /**
     * 批量删除门店
     *
     * @param shopIds 需要删除的门店主键集合
     * @return 结果
     */
    public int deleteSlkjShopByShopIds(Long[] shopIds);

    /**
     * 删除门店信息
     *
     * @param shopId 门店主键
     * @return 结果
     */
    public int deleteSlkjShopByShopId(Long shopId);

    /**
     * 添加项目
     *
     * @param shopProjects
     * @return
     */
    void addProject(List<SlkjShopProject> shopProjects);

    /**
     * 编辑项目
     *
     * @param shopProjects
     */
    void editProject(List<SlkjShopProject> shopProjects);

    /**
     * 修改门店状态
     *
     * @param status
     * @return int
     * @author wangliang
     */
    int updateStatus(String status, Long id);

    /**
     * 门店是否存在票价方案
     *
     * @param id
     * @return {@link AjaxResult }
     */
    AjaxResult existsFareScheme(Long id);

    /**
     * 门店上架信息检查
     *
     * @param id
     * @return {@link AjaxResult }
     */
    AjaxResult storeListingInformationCheck(Long id);

}
